package cl.tinet.trainee.tarea6b.model;

import java.io.Serializable;

import javax.persistence.*;

@Entity(name = "Usuario")
public class Usuario implements Serializable {

	private static final long serialVersionUID = -2379445105051818665L;

	/**
	 * Atributo username, clave primaria de la tabla en base de datos.
	 */
	@Id
	@Column(name = "username")
	private String username;

	@Column(name = "nombreusuario")
	private String nombre;

	@Column(name = "apellidopaterno")
	private String apellidoPaterno;

	@Column(name = "apellidomaterno")
	private String apellidoMaterno;

	@Column(name = "password")
	private String password;

	@Column(name = "activo")
	private Boolean activo;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellidoPaterno() {
		return apellidoPaterno;
	}

	public void setApellidoPaterno(String apellidoPaterno) {
		this.apellidoPaterno = apellidoPaterno;
	}

	public String getApellidoMaterno() {
		return apellidoMaterno;
	}

	public void setApellidoMaterno(String apellidoMaterno) {
		this.apellidoMaterno = apellidoMaterno;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Boolean getActivo() {
		return activo;
	}

	public void setActivo(Boolean activo) {
		this.activo = activo;
	}

	/**
	 * Metodo que compara dos objetos usuario y determina si son iguales de
	 * acuerdo a su username,
	 */
	public boolean equals(Object o) {
		if (o == null) {
			return false;
		} else if (!(o instanceof Usuario)) {
			return false;
		} else if (this.getUsername().equals(((Usuario) o).getUsername())) {
			return true;
		}
		return false;
	}

}
